#include "cond.hpp"
ticket s;
void *buyticket(void *args)
{
    while (true)
    {
        int *p = (int *)args;
        s.buyticket(*p);
        cout << "我是线程" << (*p) << endl;
        usleep(10000000);
    }
    // while (true)
    // {
    //     pthread_mutex_lock(&mtx);
    //     if (ticket > 0)
    //     {
    //         //pthread_cond_signal(&empty);
    //         int *i = (int *)args;
    //         ticket--;
    //         cout << (*i) << ": 抢票成功,还剩余票数：" << ticket << endl;
    //         pthread_mutex_unlock(&mtx);

    //     }
    //     else
    //     {
    //         //pthread_cond_wait(&empty, &mtx);
    //         pthread_mutex_unlock(&mtx);
    //         break;
    //     }
    // }
    // //sleep(10);
    return nullptr;
}
int main()
{
    pthread_t tid[NUM];
    for (int i = 0; i < NUM; i++)
    {
        pthread_create(tid + i, nullptr, buyticket, (void *)&i);
    }
    while (true)
        s.renenw();
    for (int i = 0; i < NUM; i++)
        pthread_join(tid[i], nullptr);
    cout << "回收线程成功" << endl;
    return 0;
}